unit untListFornecedor;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, untListPadrao, DB, Grids, DBGrids, StdCtrls, Buttons, ExtCtrls;

type
  TfrmListFornecedor = class(TfrmListPadrao)
    procedure btnIncluirClick(Sender: TObject);
    procedure btnAlterarClick(Sender: TObject);
    procedure btnExcluirClick(Sender: TObject);
    procedure EdtPesquisarChange(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmListFornecedor: TfrmListFornecedor;

implementation

uses untCadFornecedor, untDm, untFuncoesListagem;

{$R *.dfm}

procedure TfrmListFornecedor.btnIncluirClick(Sender: TObject);
begin
  inherited;
  frmCadFornecedor.Tag :=1;
  frmCadFornecedor.ShowModal;
end;

procedure TfrmListFornecedor.btnAlterarClick(Sender: TObject);
begin
  inherited;
  frmCadFornecedor.Tag := 2;
  frmCadFornecedor.ShowModal;
end;

procedure TfrmListFornecedor.btnExcluirClick(Sender: TObject);
begin
  inherited;
    //---------------efetua a exclusao do registro
  if DM.CDSFornecedor.RecordCount = 0 then
    Exit;
  try
    if MessageDlg('Deseja Excluir o Fornecedor Selecionado?', mtConfirmation, [mbYes,mbNo],0) = mrYes then
    begin
      DM.SDSComando.CommandText := 'DELETE FROM "Fornecedor" WHERE "cod_for" = :cod_for';
      DM.SDSComando.Params.ParamByName('cod_for').AsString := DM.CDSFornecedor.FieldByName('cod_for').AsString;
      DM.SDSComando.ExecSQL();
      DM.CDSFornecedor.Close;
      DM.CDSFornecedor.Open;

      EdtRegistros.Text := atualizaTotal('fornecedor');
    end;
  except
    if MessageDlg('Erro ao Excluir o Fornecedor', mtError, [mbOK],0) = mrOK then
      Exit;
  end;
end;

procedure TfrmListFornecedor.EdtPesquisarChange(Sender: TObject);
begin
  inherited;

  //verifica se o Campo nao esta vazio e procura o pedido pelo numero do pedido
  if Trim(EdtPesquisar.Text) <> '' then
  begin
    DM.CDSFornecedor.Locate('nome_fantasia_for', EdtPesquisar.Text, [loCaseInsensitive,loPartialKey]);
  end;
end;

procedure TfrmListFornecedor.FormShow(Sender: TObject);
begin
  inherited;
  DM.CDSFornecedor.close;
  DM.CDSFornecedor.Open;
  DM.CDSCidade.Open;

  // ---------Apresenta a quantidade de cadastros ativos no banco
  EdtRegistros.Text := atualizaTotal('fornecedor');
end;

procedure TfrmListFornecedor.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  inherited;
  DM.CDSFornecedor.Close;
  DM.CDSCidade.Close;
end;

end.
